-
Notifications
You must be signed in to change notification settings - Fork 146
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
DNS local lookups using mDNS repaired #1118
DNS local lookups using mDNS repaired #1118
Conversation
/bot run uncrustify |
I tested the mDNS without the changes using ping (from a Windows PC):
and also with a DNS v4 query from another +TCP DUT. It seems to be working. Wondering if the tests you performed were different. |
My tests were about a LLMNR or mDNS lookup lookup that originates from a DUT running FreeRTOS+TCP. The biggest problem is this code in FreeRTOS_DNS_Parser.c:
As for mDNS it is normal that the questions are not repeated. |
Can you help fix the CI checks? |
FreeRTOS_SetDNSIPPreference makes more sense, as now application can set it accordingly. We might have to update this API in the website as well. Thanks for the update. |
Description
Somewhere along the way, active lookups using mDNS got broken.
When a peer answers an mDNS a lookup, in its answer, it will not repeat the questions that were asked by the client.
Test Steps
I did 3 kinds of lookups, each of them in 4 different ways:
A normal DNS lookup
A mDNS lookup of
laptop-hp.local
An LLMNR lookup of
laptop-hp
I repeated each lookup by either asking for A or for AAAA records. Also I would either use IPv4 or IPv6 to contact the peer/server, setting
xDNS_IP_Preference
.Here are the results of of mDNS/LLMNR tests:
DNS_tests.zip
Without the reparation, mDNS would not succeed.
Checklist:
Related Issue
By submitting this pull request, I confirm that you can use, modify, copy, and redistribute this contribution, under the terms of your choice.